Computers and computing systems have affected nearly every aspect of modern living. Computers are generally involved in work, recreation, healthcare, transportation, entertainment, household management, and so forth. Computing systems are providing ever more complex and sophisticated functionality. Such functionality is often primarily driven by underlying software, which itself is becoming ever more complex. Application developers have the task of developing such software, and to tune performance to ensure efficient and secure operation.
Web applications are often designed and implemented following a client-server computing model. This model usually provides that core application logic is executed on remote servers, execution results are accessed through clients (e.g., web browsers), and client code communicates with server code using an application-layer protocol (e.g., HTTP). Execution of a web application on a server is often driven by a component that takes and parses inputs received from clients, dispatches requests with recognized input parameters to respective business-logic components for processing, and then produces outputs to be sent back to clients.
When processing input, the input processors typically create a data structure for each piece of input provided by the client. The data structure is then provided to the respective business-logic components. However, if an input was received that was an invalid input, the input processors typically create a data structure before determining that the input is, in fact, invalid. Thus, computing resources are used even to process invalid input.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.